package com.zh.note.huawei.twohundred.增强的strstr;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * https://dream.blog.csdn.net/article/details/132164122
 */
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        /**
         * aabcdefg
         * b[cd]d[eg]
         */
        // String haystack = sc.nextLine();
        // String needle = sc.nextLine();
        String haystack = "aabcdefg";
        String needle = "b[cd]d[eg]";

        Pattern pattern = Pattern.compile(needle);
        Matcher matcher = pattern.matcher(haystack);
        /**
         * find()：是否存在与该模式匹配的下一个子序列。简单来说就是在字符某部分匹配上模式就会返回true，同时匹配位置会记录到当前位置，再次调用时从该处匹配下一个。
         * Matcher中的start()和end()。start(),点进方法可以看到返回的是上一个匹配项的起始索引，如果没有匹配项将抛出IllegalStateException异常。同理，end()则为结束的索引。
         */
        if (matcher.find()) {
            System.out.println(matcher.start());
        } else {
            System.out.println("-1");
        }


    }
}
